package com.huadragon.marathondao.dao.inter;



import java.util.List;

import com.huadragon.marathondao.base.DaoManager;
import com.huadragon.marathonentity.servicedomain.MenuInfoDomain;


public interface IMenuInfoDao extends DaoManager<MenuInfoDomain> {
	/**
	 * 获取指定用户有权限的菜单list
	 * @author hailongzhao
	 * @date 20150828
	 * @param req
	 * @return
	 */
	public List<MenuInfoDomain> getMenuListByUserID(int userID) ;

	/**
	 * 修改权限时，获取给定用户的权限列表（包括没有权限的menu）
	 * @author hailongzhao
	 * @date 20150828
	 * @return
	 */
	public List<MenuInfoDomain> getAuthSettingList(int userID) ;
	
	/**
	 * 修改权限时，获取给定角色的权限列表（包括没有权限的menu）
	 * @author hailongzhao
	 * @date 20150902
	 * @return
	 */
	public List<MenuInfoDomain> getMenuListByRoleID(int roleID) ;
	public List getMenuResourceByUserID(int userID);
	/**
	 * 根据父id获得所有子菜单
	 * @author pengyi
	 * @date 2015年9月10日 上午11:50:57
	 * @version 1.0
	 * @param parId
	 * @return
	 */
	List<MenuInfoDomain> getListMenuByParId(int parId);
	
	/**
	 * 获得指定id的菜单
	 * @author pengyi
	 * @date 2015年9月10日 下午2:36:04
	 * @version 1.0
	 * @param id
	 * @return
	 */
	MenuInfoDomain getMenuById(int id);
	
	/**
	 * 新加菜单
	 * @author pengyi
	 * @date 2015年9月10日 下午2:36:33
	 * @version 1.0
	 * @param req
	 * @return
	 */
	boolean addMenu(MenuInfoDomain req);
}
